An important aspect of many computer systems is the interface between the computer central processing unit and various external devices. In many computer systems, the various units in the system are designed and manufactured by more than one company or organization. Various standard interfaces have been defined to facilitate connection units together to form a system. The Universal Serial Bus interface (USB) has come into widespread use for connecting peripheral devices to a computer system.
A document entitled “Universal Serial Bus Specifications, Revision 2.0” defines the USB 2.0 standard. This widely available document can, for example, be obtained from a non-profit corporation known as the USB Implementers Forum, Inc. (USB-IF). USB-IF authorizes companies to affect a particular label to products that pass various USB-IF Compliance Programs. The “Universal Serial Bus specification, revision 2.0 is hereby incorporated herein in its entirety.
The USB specification defines three operating speeds for devices connected by a USB connection. These three speeds are termed “low”, “full” and “high”. The present invention is only related to the “full” and “high” speeds. The USB specifications also defines that devices may be low power devices drawing up to 100 mA of power from the USB connection or high power devices drawing up to 500 mA of power from the USB connection.
Co-pending application Ser. No. 10/260,081 (the content of which is hereby incorporated herein by reference) describes a method and device whereby a device first connects using the full speed mode and drawing less than 100 mA of power. At this speed, a determination is made as to whether or not a connection can be made at the high speed mode which requires high power. If a connection can be made at the high power, high speed mode, a transition is made to high speed, high power mode.
Some systems such as the Microsoft Windows™ operating system have a “hibernate mode” which turns off power to peripheral devices and which save an image of the system's state. Later the system can be re-started and continue from the state of the system prior to the “hibernate” operation.
The present invention provides a method and system whereby a device, capable of operation in either full speed mode (drawing less than 100 mA of power) or in high speed mode (requires a high power connection) can automatically reconnect in high speed mode after a hibernate operation.